package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 报价明细对象 zc_quotation_details
 *
 * @author lx
 * @date 2023-06-21
 */
@ApiModel(value = "ZcQuotationDetails", description = "报价明细对象")
@Data
public class ZcQuotationDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String companyName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String companyCode;

    /** 发布日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布日期")
    private Date publishDate;

    /** 报价结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报价结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("报价结束日期")
    private Date quoteEndDate;

    /** 开标日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开标日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开标日期")
    private Date bidDate;

    /** 订单类型 */
    @Excel(name = "订单类型")
    @ApiModelProperty("订单类型")
    private String orderType;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNumber;

    /** 物料类型 */
    @Excel(name = "物料类型")
    @ApiModelProperty("物料类型")
    private String materialType;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String materialNumber;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String specification;

    /** 物料单位 */
    @Excel(name = "物料单位")
    @ApiModelProperty("物料单位")
    private String materialUnit;

    /** 条形码 */
    @Excel(name = "条形码")
    @ApiModelProperty("条形码")
    private String barcode;

    /** 制造商编码 */
    @Excel(name = "制造商编码")
    @ApiModelProperty("制造商编码")
    private String manufacturerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    @ApiModelProperty("制造商名称")
    private String manufacturerName;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private BigDecimal purchaseQuantity;

    /** 交货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("交货日期")
    private Date deliveryDate;

    /** 交货地址 */
    @Excel(name = "交货地址")
    @ApiModelProperty("交货地址")
    private String deliveryAddress;

    /** 运费 */
    @Excel(name = "运费")
    @ApiModelProperty("运费")
    private BigDecimal freight;

    /** 尺寸 */
    @Excel(name = "尺寸")
    @ApiModelProperty("尺寸")
    private String size;

    /** 单重 */
    @Excel(name = "单重")
    @ApiModelProperty("单重")
    private BigDecimal unitWeight;

    /** 总重 */
    @Excel(name = "总重")
    @ApiModelProperty("总重")
    private BigDecimal totalWeight;

    /** 颜色 */
    @Excel(name = "颜色")
    @ApiModelProperty("颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    @ApiModelProperty("花纹")
    private String pattern;

    /** 材质 */
    @Excel(name = "材质")
    @ApiModelProperty("材质")
    private String materialMaterial;

    /** 包装数量 */
    @Excel(name = "包装数量")
    @ApiModelProperty("包装数量")
    private Long packagingQuantity;

    /** 包装尺寸 */
    @Excel(name = "包装尺寸")
    @ApiModelProperty("包装尺寸")
    private String packagingSize;

    /** 包装材质 */
    @Excel(name = "包装材质")
    @ApiModelProperty("包装材质")
    private String packagingMaterial;

    /** 采购人 */
    @Excel(name = "采购人")
    @ApiModelProperty("采购人")
    private String purchaser;

    /** 报价编号 */
    @Excel(name = "报价编号")
    @ApiModelProperty("报价编号")
    private String quoteNumber;

    /** 报价日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报价日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("报价日期")
    private Date quoteDate;

    /** 确认日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("确认日期")
    private Date confirmationDate;

    /** 报价（不含税） */
    @Excel(name = "报价", readConverterExp = "不=含税")
    @ApiModelProperty("报价（不含税）")
    private BigDecimal quoteExclTax;

    /** 税率 */
    @Excel(name = "税率")
    @ApiModelProperty("税率")
    private BigDecimal taxRate;

    /** 报价（含税） */
    @Excel(name = "报价", readConverterExp = "含=税")
    @ApiModelProperty("报价（含税）")
    private BigDecimal quoteInclTax;

    /** 报价单位 */
    @Excel(name = "报价单位")
    @ApiModelProperty("报价单位")
    private String quoteUnit;

    /** 报价人 */
    @Excel(name = "报价人")
    @ApiModelProperty("报价人")
    private String quotePerson;

    /** 报价单附件 */
    @Excel(name = "报价单附件")
    @ApiModelProperty("报价单附件")
    private String quoteAttachment;

    /** 招采状态 */
    @Excel(name = "招采状态")
    @ApiModelProperty("招采状态")
    private String procurementStatus;

    /** 部门数据隔离代码 */
    private Long deptId;

}
